#ifndef KXLUA_ILIB_H_
#define KXLUA_ILIB_H_

#include "common/common.h"

namespace kxlua {

class IClass;

typedef std::map<std::string, IClass*> Classes;

class ILib {
public:
    virtual ~ILib() {}

public:
    virtual std::string GetName() const = 0;
    virtual IClass * GetClass(std::string name) const = 0;

    virtual bool Open() = 0;
    virtual bool Close() = 0;
};

}

#endif
